BOOT Mode
The boot mode of UC6580 is a standalone mode which is controlled by D_SEL (PIO 10) and Boot_Mode (PIO 12). According to the two PIO's status, the mode divides into three situations:
- Boots from UART1 (PIO6 and PIO7) and I2C1 (PIO8 and PIO9)
 - Boots from UART1 (PIO11 and PIO12)
 - Boots from SPI slave (PIO6 to PIO9).
 
See the following tables for the details of the pin function configuration at boot and the boot mode description.
BOOT_MODE is valid only at power-on or before the RESETN signal is sent. After the RESETN signal is sent, the BOOT_MODE pin can be used as an ordinary PIO pin.
Pin Function Configuration at Boot
| D_SEL | BOOT_ MODE  | 
    Boot  Mode  | 
    After Boot | Remark | |||
| PIO 6/7 | PIO 8/9 | PIO 11/12 | |||||
| 1 | X | Boots from  UART1 and I2C1  | 
    UART1 | I2C1 | X | Outputs the  positioning information through UART1 (PIO 6 and PIO7)  | 
    |
| 0 | 1 | Boots from  UART1  | 
    X | X | UART1 | Outputs the  positioning information through SPI slave (PIO 6 to PIO9)  | 
    Boots from  UART1 (PIO 11 and PIO12), no I2C1 boot  | 
    
| 0 | 0 | SPI slave | SPI slave | SPI slave | X | Outputs the  positioning information through SPI slave (PIO 6 to PIO9)  | 
    
The boot steps are as follows:
Step 1: CPU detects the firmware upgrade request from the interfaces.
- UART1 and I2C1 Boot Mode
 
| If | Then | 
|---|---|
| CPU detects a firmware upgrade request from UART1 within 20 ms after power-on or reset. | CPU starts to adapt the baud rate and upgrade the firmware. After the upgrade, run the firmware. | 
| CPU detects a firmware upgrade request from I2C1 within 20 ms after power-on or reset. | CPU starts to adapt the I2C1 clock and upgrade the firmware. After the upgrade, run the firmware. | 
| CPU does not detect a firmware upgrade request from UART1 or I2C1 within 20 ms after power-on or reset. | Do step 2 | 
- UART1 Boot Mode
 
| If | Then | 
|---|---|
| CPU detects a firmware upgrade request from UART1 within 20 ms after power-on or reset. | CPU starts to adapt the baud rate and upgrade the firmware. After the upgrade, run the firmware. | 
| CPU does not detect a firmware upgrade request from UART1 within 20 ms after power-on or reset. | Do step 2 | 
- SPI slave Boot Mode
 
| If | Then | 
|---|---|
| CPU detects a firmware upgrade request from SPI slave within 20 ms after power-on or reset. | CPU upgrades the firmware and runs it after the upgrade. | 
| CPU does not detect a firmware upgrade request from SPI slave within 20 ms after power-on or reset. | Do step 2 | 
Step 2: CPU detects built-in flash and external flash in order.
- CPU Detects Flash
 
| If | Then | 
|---|---|
| CPU detects a firmware in the built-in flash. | CPU reads the firmware and runs it. | 
| CPU does not detect the firmware in the built-in flash. | CPU tries to read the firmware in external flash and runs it. |